A computer network is a geographically distributed collection of interconnected communication links and segments for transporting data between nodes (e.g., computers). Many types of network segments are available, with the types ranging from local area networks (LANs) to wide area networks (WANs). LANs typically connect personal computers and workstations over dedicated, private communications links located in the same general physical location, such as a building or a campus. WANs, on the other hand, typically connect large numbers of geographically dispersed nodes over long-distance communications links, such as common carrier lines. The Internet is an example of a WAN that connects disparate networks throughout the world, providing global communication between nodes on various networks. The nodes typically communicate over the network by exchanging discrete frames or packets of data according to predefined protocols, such as the Transmission Control Protocol/Internet Protocol (TCP/IP).
Computer networks may be further interconnected by an intermediate network node, such as a router, having a plurality of ports that may be coupled to the networks. To interconnect geographically dispersed computer networks and/or provide Internet connectivity, many organizations rely on the infrastructure and facilities of one or more Service Providers (SPs), such as an Internet service provider (ISP). ISPs typically manage backbone networks that are configured to provide high-speed connections to e.g., the Internet.
A client may enter into a service level agreement (SLA) with a SP in order to establish which services and what level of service are provided by the SP, as well as the price the client pays for each service. Often different SPs employ different pricing schemes for their services. For example, some SPs charge clients on a flat-rate basis where each client pays a fixed fee per billing period regardless of how much of the SP's service the client uses. Other SPs may charge clients using a tiered pricing scheme that is dependent upon the amount of the service utilized by the client.
At times, a client may request a service from a SP that the SP does not or cannot offer. For instance, a client could request a content caching service from a first SP that the first SP does not offer. For example, the first SP may not offer the content caching service because it does not have sufficient computing resources to offer the service, or the first SP may not offer the service because its computing resources are already occupied providing services for other clients. In such a situation, the first SP may negotiate an arrangement with a second SP capable of providing the content caching service to provide the client with the requested service. Currently, such a negotiation is a manual process which can take days or even weeks to complete. However, such a manual process may be unacceptable to a client who wishes to make use of the requested service within a shorter timeframe.